﻿/*
 ***************************************************************************
 * Microsoft Visual C# .NET
 * 名称：       Shpm.System.Web.Control.CheckFax
 * 类型：       服务端输入校验类
 * 功能说明：   数组里不包含指定的元素校验类
 * 作者：       郭晓庆
 * 创建日期：   2007/07/10
 * 修改日期     修改者      修改内容
 * 
 * 
 * ---
 ***************************************************************************
*/
using System;
using System.Collections.Generic;
using System.Text;

namespace Shpm.System.Web.Control
{
    public class CheckContains : ComAbsChecker
    {
        /** 模式(正则表达式) */
        private String[] contains = null;

        /**
         * 构造函数
         * @param value   	输入值
         * @param contains 	模式(正则表达式)
         */
        public CheckContains(String value, String[] contains)
            : base(value)
        {
            this.contains = contains;
        }

        public CheckContains(string value, String[] contains, Shpm.System.Validator.ComAbsMsg msg)
            : base(value, msg) 
        {
                this.contains = contains;
        }

        /**
         * 元素检查处理。
         * @param value 输入值
         * @return true:包含 / false:不包含
         */
        protected override bool doCheck(String value)
        {

            // 未输入检查
            if (base.isEmpty(value))
            {
                return true;
            }

            if (this.contains == null || this.contains.Length == 0)
                // 元素没有指定出错返回
                return false;

            // 元素检查
            for (int i = 0; i < this.contains.Length; i++)
            {
                if (value.Equals(this.contains[i]))
                {
                    return true;
                }
            }
            return false;

        }
    }
}
